PROJ_ROOT=../../
SRC_ROOT=../comm
TEST_ROOT=./
CC=gcc
CFLAG=-g -Wall -DFRLINUX4
OBJECT=t__do_filter

all: clean compile run

compile: $(SRC_ROOT)/apmtest_cunit.c \
         $(SRC_ROOT)/apmtest_loader.c \
         $(SRC_ROOT)/frmem.c \
         $(SRC_ROOT)/frmem_stat.c \
         $(SRC_ROOT)/frmem_chk.c \
         $(SRC_ROOT)/frstr.c \
         $(SRC_ROOT)/frlist.c \
         $(SRC_ROOT)/frsutl.c \
         $(SRC_ROOT)/frhex_dump.c \
         $(SRC_ROOT)/frhash2.c \
         $(SRC_ROOT)/frhashmap_varfield.c \
         $(SRC_ROOT)/frlog.c \
         $(SRC_ROOT)/frconfig.c \
         $(SRC_ROOT)/frfilter.c \
         $(SRC_ROOT)/frtimer.c \
         $(SRC_ROOT)/frame.c \
         $(SRC_ROOT)/frtask_mng.c \
         $(SRC_ROOT)/frtask_do.c \
         $(SRC_ROOT)/frame_params.c \
         $(SRC_ROOT)/frmodule_mng.c \
         $(SRC_ROOT)/frmodule_stub.c \
         $(SRC_ROOT)/frct_comm.c \
         $(SRC_ROOT)/frct_mng.c \
         $(SRC_ROOT)/frct_hash.c \
         $(SRC_ROOT)/frstat_ct.c \
         $(SRC_ROOT)/frstat_ct_conn.c \
         $(SRC_ROOT)/frstat_module.c \
         $(SRC_ROOT)/frstat_server.c \
         $(SRC_ROOT)/frstat_system.c \
         $(SRC_ROOT)/frstat_thread.c \
         $(SRC_ROOT)/frstat_topology.c \
         $(SRC_ROOT)/frproto_mng.c \
         $(SRC_ROOT)/frproto_detect.c \
         $(SRC_ROOT)/frproto_l7default.c \
         $(SRC_ROOT)/frreport_comm.c \
         $(SRC_ROOT)/frreport_mng.c \
         $(SRC_ROOT)/frreport_convert.c \
         $(SRC_ROOT)/apm.pb-c.c \
         $(SRC_ROOT)/client.pb-c.c \
         $(SRC_ROOT)/frcmd_server_l7.c \
         $(SRC_ROOT)/frcmd_server.c \
         $(TEST_ROOT)/t__do_filter.c\

	@$(CC) $(CFLAG) $^ -o $(OBJECT) -lcunit -lnids -lzmq -lpcap -lnet -levent -levent_pthreads -ldl -lzlog -lpthread  -lprotobuf-c -luuid -lgthread-2.0  -I$(SRC_ROOT) -I$(TEST_ROOT)

run:
	@valgrind --tool=memcheck --leak-check=full --show-reachable=yes ./$(OBJECT)

clean:
	@rm -f $(OBJECT)
